<?php
 
/* VALUES */
$id=$_POST['id'];
$title=$_POST['title'];
$start=$_POST['start'];
$end=$_POST['end'];
 
// connexion à la base de données
 try {
 $bdd = new PDO('mysql:host=localhost;dbname=fortelco_claboral', 'root', 'root');
 } catch(Exception $e) {
 exit('Impossible de se connecter à la base de données.');
 }
 
$sql = "UPDATE horario SET tarea=?, fechainicio=?, fechafin=? , 
manana=case /*Mañana*/ 
    when fechainicio between CONCAT(CONCAT(EXTRACT(year FROM fechainicio), '-', EXTRACT(month FROM fechainicio), '-', EXTRACT(day FROM fechainicio)),' ', '06:00:00') and CONCAT(CONCAT(EXTRACT(year FROM fechainicio), '-', EXTRACT(month FROM fechainicio), '-', EXTRACT(day FROM fechainicio)),' ', '12:00:00') 
        and fechafin between CONCAT(CONCAT(EXTRACT(year FROM fechainicio), '-', EXTRACT(month FROM fechainicio), '-', EXTRACT(day FROM fechainicio)),' ', '06:00:00') and CONCAT(CONCAT(EXTRACT(year FROM fechainicio), '-', EXTRACT(month FROM fechainicio), '-', EXTRACT(day FROM fechainicio)),' ', '12:00:00') then  
    
    EXTRACT(HOUR FROM fechafin) - EXTRACT(HOUR FROM fechainicio) + (EXTRACT(MINUTE FROM fechafin) - EXTRACT(MINUTE FROM fechainicio))/60
    
    when fechainicio between CONCAT(CONCAT(EXTRACT(year FROM fechainicio), '-', EXTRACT(month FROM fechainicio), '-', EXTRACT(day FROM fechainicio)),' ', '06:00:00') and CONCAT(CONCAT(EXTRACT(year FROM fechainicio), '-', EXTRACT(month FROM fechainicio), '-', EXTRACT(day FROM fechainicio)),' ', '12:00:00') 
        and fechafin not between CONCAT(CONCAT(EXTRACT(year FROM fechainicio), '-', EXTRACT(month FROM fechainicio), '-', EXTRACT(day FROM fechainicio)),' ', '06:00:00') and CONCAT(CONCAT(EXTRACT(year FROM fechainicio), '-', EXTRACT(month FROM fechainicio), '-', EXTRACT(day FROM fechainicio)),' ', '12:00:00') then  
    
    EXTRACT(HOUR FROM TIMESTAMP '2001-02-16 12:00:00') - EXTRACT(HOUR FROM fechainicio) - EXTRACT(MINUTE FROM fechainicio)/60
    
    when fechafin between CONCAT(CONCAT(EXTRACT(year FROM fechainicio), '-', EXTRACT(month FROM fechainicio), '-', EXTRACT(day FROM fechainicio)),' ', '06:00:00') and CONCAT(CONCAT(EXTRACT(year FROM fechainicio), '-', EXTRACT(month FROM fechainicio), '-', EXTRACT(day FROM fechainicio)),' ', '12:00:00') 
        and fechainicio not between CONCAT(CONCAT(EXTRACT(year FROM fechainicio), '-', EXTRACT(month FROM fechainicio), '-', EXTRACT(day FROM fechainicio)),' ', '06:00:00') and CONCAT(CONCAT(EXTRACT(year FROM fechainicio), '-', EXTRACT(month FROM fechainicio), '-', EXTRACT(day FROM fechainicio)),' ', '12:00:00') then  
    
    EXTRACT(HOUR FROM fechafin) - EXTRACT(HOUR FROM TIMESTAMP '2001-02-16 06:00:00')  + EXTRACT(MINUTE FROM fechafin)/60
    else  
    0
END,
tarde=case /*Tarde*/
    when fechainicio between CONCAT(CONCAT(EXTRACT(year FROM fechainicio), '-', EXTRACT(month FROM fechainicio), '-', EXTRACT(day FROM fechainicio)),' ', '12:00:00') and CONCAT(CONCAT(EXTRACT(year FROM fechainicio), '-', EXTRACT(month FROM fechainicio), '-', EXTRACT(day FROM fechainicio)),' ', '18:00:00') 
        and fechafin between CONCAT(CONCAT(EXTRACT(year FROM fechainicio), '-', EXTRACT(month FROM fechainicio), '-', EXTRACT(day FROM fechainicio)),' ', '12:00:00') and CONCAT(CONCAT(EXTRACT(year FROM fechainicio), '-', EXTRACT(month FROM fechainicio), '-', EXTRACT(day FROM fechainicio)),' ', '18:00:00') then  
    
    EXTRACT(HOUR FROM fechafin) - EXTRACT(HOUR FROM fechainicio) + (EXTRACT(MINUTE FROM fechafin) - EXTRACT(MINUTE FROM fechainicio))/60
    
    when fechainicio between CONCAT(CONCAT(EXTRACT(year FROM fechainicio), '-', EXTRACT(month FROM fechainicio), '-', EXTRACT(day FROM fechainicio)),' ', '12:00:00') and CONCAT(CONCAT(EXTRACT(year FROM fechainicio), '-', EXTRACT(month FROM fechainicio), '-', EXTRACT(day FROM fechainicio)),' ', '18:00:00') 
        and  fechafin not between CONCAT(CONCAT(EXTRACT(year FROM fechainicio), '-', EXTRACT(month FROM fechainicio), '-', EXTRACT(day FROM fechainicio)),' ', '12:00:00') and CONCAT(CONCAT(EXTRACT(year FROM fechainicio), '-', EXTRACT(month FROM fechainicio), '-', EXTRACT(day FROM fechainicio)),' ', '18:00:00') then  
    
    EXTRACT(HOUR FROM TIMESTAMP '2001-02-16 18:00:00') - EXTRACT(HOUR FROM fechainicio) - EXTRACT(MINUTE FROM fechainicio)/60
    
    when fechafin between CONCAT(CONCAT(EXTRACT(year FROM fechainicio), '-', EXTRACT(month FROM fechainicio), '-', EXTRACT(day FROM fechainicio)),' ', '12:00:00') and CONCAT(CONCAT(EXTRACT(year FROM fechainicio), '-', EXTRACT(month FROM fechainicio), '-', EXTRACT(day FROM fechainicio)),' ', '18:00:00') 
        and fechainicio not between CONCAT(CONCAT(EXTRACT(year FROM fechainicio), '-', EXTRACT(month FROM fechainicio), '-', EXTRACT(day FROM fechainicio)),' ', '12:00:00') and CONCAT(CONCAT(EXTRACT(year FROM fechainicio), '-', EXTRACT(month FROM fechainicio), '-', EXTRACT(day FROM fechainicio)),' ', '18:00:00') then  
    
    EXTRACT(HOUR FROM fechafin) - EXTRACT(HOUR FROM TIMESTAMP '2001-02-16 12:00:00') + EXTRACT(MINUTE FROM fechafin)/60
    else  
    0
END,
noche=case /*Noche*/
    when fechainicio between CONCAT(CONCAT(EXTRACT(year FROM fechainicio), '-', EXTRACT(month FROM fechainicio), '-', EXTRACT(day FROM fechainicio)),' ', '18:00:00') and CONCAT(CONCAT(EXTRACT(year FROM fechainicio), '-', EXTRACT(month FROM fechainicio), '-', EXTRACT(day FROM fechainicio)),' ', '23:59:59') 
        and fechafin between CONCAT(CONCAT(EXTRACT(year FROM fechainicio), '-', EXTRACT(month FROM fechainicio), '-', EXTRACT(day FROM fechainicio)),' ', '18:00:00') and CONCAT(CONCAT(EXTRACT(year FROM fechainicio), '-', EXTRACT(month FROM fechainicio), '-', EXTRACT(day FROM fechainicio)),' ', '23:59:59') then  
    
    EXTRACT(HOUR FROM fechafin) - EXTRACT(HOUR FROM fechainicio) + (EXTRACT(MINUTE FROM fechafin) - EXTRACT(MINUTE FROM fechainicio))/60
    
    when fechainicio between CONCAT(CONCAT(EXTRACT(year FROM fechainicio), '-', EXTRACT(month FROM fechainicio), '-', EXTRACT(day FROM fechainicio)),' ', '18:00:00') and CONCAT(CONCAT(EXTRACT(year FROM fechainicio), '-', EXTRACT(month FROM fechainicio), '-', EXTRACT(day FROM fechainicio)),' ', '23:59:59') 
        and  fechafin not between CONCAT(CONCAT(EXTRACT(year FROM fechainicio), '-', EXTRACT(month FROM fechainicio), '-', EXTRACT(day FROM fechainicio)),' ', '18:00:00') and CONCAT(CONCAT(EXTRACT(year FROM fechainicio), '-', EXTRACT(month FROM fechainicio), '-', EXTRACT(day FROM fechainicio)),' ', '23:59:59') then  
    
    24 - EXTRACT(HOUR FROM fechainicio) - EXTRACT(MINUTE FROM fechainicio)/60
    
    when fechafin between CONCAT(CONCAT(EXTRACT(year FROM fechainicio), '-', EXTRACT(month FROM fechainicio), '-', EXTRACT(day FROM fechainicio)),' ', '18:00:00') and CONCAT(CONCAT(EXTRACT(year FROM fechainicio), '-', EXTRACT(month FROM fechainicio), '-', EXTRACT(day FROM fechainicio)),' ', '23:59:59') 
        and fechainicio not between CONCAT(CONCAT(EXTRACT(year FROM fechainicio), '-', EXTRACT(month FROM fechainicio), '-', EXTRACT(day FROM fechainicio)),' ', '18:00:00') and CONCAT(CONCAT(EXTRACT(year FROM fechainicio), '-', EXTRACT(month FROM fechainicio), '-', EXTRACT(day FROM fechainicio)),' ', '23:59:59') then  
    
    EXTRACT(HOUR FROM fechafin) - EXTRACT(HOUR FROM TIMESTAMP '2001-02-16 18:00:00') + EXTRACT(MINUTE FROM fechafin)/60
	
	when fechafin = CONCAT(CONCAT(EXTRACT(year FROM fechafin), '-', EXTRACT(month FROM fechafin), '-', EXTRACT(day FROM fechafin)),' ', '00:00:00') 
        and fechainicio not between CONCAT(CONCAT(EXTRACT(year FROM fechainicio), '-', EXTRACT(month FROM fechainicio), '-', EXTRACT(day FROM fechainicio)),' ', '18:00:00') and CONCAT(CONCAT(EXTRACT(year FROM fechainicio), '-', EXTRACT(month FROM fechainicio), '-', EXTRACT(day FROM fechainicio)),' ', '23:59:59') then  
    
    6
	
    else  
    0
END,
madrugada=case /*Madrugada*/
    when fechainicio between CONCAT(CONCAT(EXTRACT(year FROM fechainicio), '-', EXTRACT(month FROM fechainicio), '-', EXTRACT(day FROM fechainicio)),' ', '00:00:00') and CONCAT(CONCAT(EXTRACT(year FROM fechainicio), '-', EXTRACT(month FROM fechainicio), '-', EXTRACT(day FROM fechainicio)),' ', '06:00:00') 
        and fechafin between CONCAT(CONCAT(EXTRACT(year FROM fechainicio), '-', EXTRACT(month FROM fechainicio), '-', EXTRACT(day FROM fechainicio)),' ', '00:00:00') and CONCAT(CONCAT(EXTRACT(year FROM fechainicio), '-', EXTRACT(month FROM fechainicio), '-', EXTRACT(day FROM fechainicio)),' ', '06:00:00') then  
    
    EXTRACT(HOUR FROM fechafin) - EXTRACT(HOUR FROM fechainicio) + (EXTRACT(MINUTE FROM fechafin) - EXTRACT(MINUTE FROM fechainicio))/60
    
    when fechainicio between CONCAT(CONCAT(EXTRACT(year FROM fechainicio), '-', EXTRACT(month FROM fechainicio), '-', EXTRACT(day FROM fechainicio)),' ', '00:00:00') and CONCAT(CONCAT(EXTRACT(year FROM fechainicio), '-', EXTRACT(month FROM fechainicio), '-', EXTRACT(day FROM fechainicio)),' ', '06:00:00') 
        and fechafin not between CONCAT(CONCAT(EXTRACT(year FROM fechainicio), '-', EXTRACT(month FROM fechainicio), '-', EXTRACT(day FROM fechainicio)),' ', '00:00:00') and CONCAT(CONCAT(EXTRACT(year FROM fechainicio), '-', EXTRACT(month FROM fechainicio), '-', EXTRACT(day FROM fechainicio)),' ', '06:00:00') then  
    
    EXTRACT(HOUR FROM TIMESTAMP '2001-02-16 06:00:00') - EXTRACT(HOUR FROM fechainicio) - EXTRACT(MINUTE FROM fechainicio)/60
    
    when fechafin between CONCAT(CONCAT(EXTRACT(year FROM fechainicio), '-', EXTRACT(month FROM fechainicio), '-', EXTRACT(day FROM fechainicio)),' ', '00:00:00') and CONCAT(CONCAT(EXTRACT(year FROM fechainicio), '-', EXTRACT(month FROM fechainicio), '-', EXTRACT(day FROM fechainicio)),' ', '06:00:00') 
        and fechainicio not between CONCAT(CONCAT(EXTRACT(year FROM fechainicio), '-', EXTRACT(month FROM fechainicio), '-', EXTRACT(day FROM fechainicio)),' ', '00:00:00') and CONCAT(CONCAT(EXTRACT(year FROM fechainicio), '-', EXTRACT(month FROM fechainicio), '-', EXTRACT(day FROM fechainicio)),' ', '06:00:00') then  
    
    EXTRACT(HOUR FROM fechafin) - EXTRACT(HOUR FROM TIMESTAMP '2001-02-16 00:00:00') + EXTRACT(MINUTE FROM fechafin)/60
    else  
    0
END 
WHERE idhorario=?";
$q = $bdd->prepare($sql);
$q->execute(array($title,$start,$end,$id));
 
?>